﻿namespace RayDen.Library.Core.Primitives
{
    public class SurfaceTextureData : SurfaceTextureSample<RgbSpectrum>
    {

        public float Event;
        public RgbSpectrum Throughput;

        public MediumInfo Medium, PreviousMedium;


        public float Exponent;
        public float T0;
    }
    public class SurfaceTextureInfo : SurfaceTextureSample<RgbSpectrumInfo>
    {

        public float Event;
        public RgbSpectrum Throughput;

        public MediumInfo Medium, PreviousMedium;


        public float Exponent;
        public float T0;
    }
    public class SurfaceTextureSample<TRadiance>
    {
        public TRadiance Alpha;
        public TRadiance Roughness;
        public TRadiance Diffuse;
        public TRadiance Specular;
        public TRadiance Gloss;
        public TRadiance Transmittance;
        public TRadiance Bump;
    }
}